package com.asiainfo.common.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.asiainfo.common.bean.BaseEntity;
import com.asiainfo.common.bean.PageBean;

/**
 * Mapper的基类
 * @author luhf
 * @date Jan 8, 2013 12:29:58 PM
 * @param <T>
 */
public interface BaseMapper<T extends BaseEntity> {
	/*
	 * 分页查询
	 */
	List<T> getListPage(@Param("page") PageBean page);
	
	/*
	 * 查询全部
	 */
	List<T> getList();
	
	/*
	 * 按主键删除
	 */
	int deleteByPrimaryKey(Integer id);
	/*
	 * 插入一条记录
	 */
	int insert(T entity);
	/*
	 * 插入不为空的字段
	 */
	int insertSelective(T entity);
	/*
	 * 按主键查询
	 */
	T selectByPrimaryKey(Integer id);
	/*
	 * 更新不为空的字段
	 */
	int updateByPrimaryKeySelective(T entity);
	/*
	 * 更新所有字段属性
	 */
	int updateByPrimaryKey(T entity);
}
